[Identification]
    OptionType = NetAdapter
[PlatformsSupported]
    ISA
    EISA
    "Jazz-Internal Bus"
    MCA
[LanguagesSupported]
    ENG
[Options]
    DigiBoardCX
    DigiBoardXem
    DigiBoard8i
    DigiBoard16i
    DigiBoard2Port
    DigiBoard4Port
    DigiBoard8Port
    DigiBoard4e
    DigiBoard8e
    DigiBoard16e
[OptionsMCA]
    DigiBoardCX
    DigiBoardXem
    DigiBoard4i
    DigiBoard8i
    DigiBoard16i
    DigiBoard2Port
    DigiBoard4Port
    DigiBoard8Port
[AdapterInfo]
    DigiBoardCX     = "C/X",    ntcx,       ntcx,     3,        {84240}
    DigiBoardXem    = "PC/Xem", ntxem,      ntxem,    2,        {149776}
    DigiBoard8i     = "PC/8i",  nt8i,       ntxall,   1,        {0}
    DigiBoard16i    = "PC/16i", nt16i,      ntxall,   9,        {0}
    DigiBoard2Port  = "2Port",  2Port,      ntxall,   4,        {0}
    DigiBoard4Port  = "4Port",  4Port,      ntxall,   6,        {0}
    DigiBoard8Port  = "8Port",  8Port,      ntxall,   7,        {0}
    DigiBoard4e     = "PC/4e",  nt4e,       ntxall,   5,        {0}
    DigiBoard8e     = "PC/8e",  nt8e,       ntxall,   0,        {0}
    DigiBoard16e    = "PC/16e", nt16e,      ntxall,   8,        {0}
[AdapterInfoMCA]
    DigiBoardCX     = "MC C/X", ntcx,       ntcx,     3,        {28652,28648},   {236,232},  {111,111}
    DigiBoardXem    = "MC/Xem", ntxem,      ntxem,    2,        {32668},         {156},      {127}
    DigiBoard4i     = "MC/4i",  nt4i,       ntxall,   10,       {32666,32665},   {154,153},  {127,127}
    DigiBoard8i     = "MC/8i",  nt8i,       ntxall,   1,        {32666,32665},   {154,153},  {127,127}
    DigiBoard16i    = "MC/16i", nt16i,      ntxall,   9,        {32667},         {155},      {127}
    DigiBoard2Port  = "2Port",  2Port,      ntxall,   4,        {28647},         {231},      {111}
    DigiBoard4Port  = "4Port",  4Port,      ntxall,   6,        {28647},         {231},      {111}
    DigiBoard8Port  = "8Port",  8Port,      ntxall,   7,        {28647},         {231},      {111}
[FileConstants]
    ExitState   = "Active"
    OldVersionExisted = $(FALSE)
    HdwDriverComponentExists = $(FALSE)
    DriverPath      = $(!STF_NTPATH)"\drivers"
    UtilityInf     = "UTILITY.INF"
    subroutninf    = "SUBROUTN.INF"
    ParamInf        = "NCPARAM.INF"
    HandleNull   = ""
    DGCONFIG_HANDLE = $(HandleNull)
AdapterList = ^(AdapterInfo$(BusType),0)
AdapterTitleList = ^(AdapterInfo$(BusType), 1)
AdapterHardwareNameList = ^(AdapterInfo$(BusType), 2)
AdapterHardwareDriverList = ^(AdapterInfo$(BusType), 3)
AdapterHardwareTypeList = ^(AdapterInfo$(BusType), 4)
AdapterHardwareAdapterIDList = ^(AdapterInfo$(BusType), 5)
AdapterIDByte1List = ^(AdapterInfo$(BusType), 6)
AdapterIDByte2List = ^(AdapterInfo$(BusType), 7)
AdapterTitle = *($(AdapterTitleList), ~($(AdapterList), $(Option)))
AdapterHardwareName = *($(AdapterHardwareNameList), ~($(AdapterList), $(Option)))
AdapterHardwareDriver = *($(AdapterHardwareDriverList), ~($(AdapterList), $(Option)))
AdapterHardwareType = *($(AdapterHardwareTypeList), ~($(AdapterList), $(Option)))
AdapterHardwareAdapterID = *($(AdapterHardwareAdapterIDList), ~($(AdapterList), $(Option)))
AdapterIDByte1 = *($(AdapterIDByte1List), ~($(AdapterList), $(Option)))
AdapterIDByte2 = *($(AdapterIDByte2List), ~($(AdapterList), $(Option)))
AdapterRule = *($(AdapterHardwareDriverList), ~($(AdapterList), $(Option)))
AdapterServiceName = ""
AdapterName = ""
    NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
    IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
    Manufacturer    = "DigiBoard"
    ProductMajorVersion     = "3"
    ProductMinorVersion     = "1"
    ProductVersion  = $(ProductMajorVersion)"."$(ProductMinorVersion)
    SoftwareType    = "driver"
    ProductSoftwareName     = "DigiFEP5"
    ProductSoftwareImagePath = "%SystemRoot%\System32\drivers\digifep5.sys"
    NetRuleSoftwareType     = "digiFEP5Sys serialDriver digiFEP5Driver"
    NetRuleSoftwareUse      = $(SoftwareType)
    NetRuleSoftwareBindForm = """DigiFEP5Driver"" yes no container"
    NetRuleSoftwareClass    = {"serialDriver basic","digiFEP5Driver basic"}
    NetRuleSoftwareHiddenDriver   = 1
    ProductMajorVersionHdwDriver     = "3"
    ProductMinorVersionHdwDriver     = "1"
    ProductVersionHdwDriver  = $(ProductMajorVersionHdwDriver)"."$(ProductMinorVersionHdwDriver)
    ProductSoftwareNameHdwDriver = $(AdapterHardwareDriver)
    ProductSoftwareImagePathHdwDriver = "%SystemRoot%\System32\drivers\"$(AdapterHardwareDriver)".sys"
    NetRuleSoftwareTypeHdwDriver     = $(AdapterHardwareDriver)"sys "$(AdapterHardwareDriver)"Driver"
    NetRuleSoftwareUseHdwDriver      = $(SoftwareType)
    NetRuleSoftwareBindFormHdwDriver = """"$(AdapterHardwareDriver)"Driver"" yes no container"
    NetRuleSoftwareClassHdwDriver    = {$(AdapterHardwareDriver)"Driver basic"}
    NetRuleSoftwareHiddenHdwDriver   = 1
    NetRuleHardwareType     = $(AdapterRule)" "$(AdapterRule)"Adapter"
    NetRuleHardwareBindForm = " yes yes container"
    NetRuleHardwareClass    = {$(AdapterHardwareDriver)"Adapter basic"}
    ProductHardwareName         = $(AdapterHardwareDriver)
    AdapterParameters = {}
    ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
    ProductKeyNameHdwDriver  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareNameHdwDriver)"\CurrentVersion"
    ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
[GeneralConstants]
    ExitCodeOk     = 0
    ExitCodeCancel = 1
    ExitCodeFatal  = 2
    KeyNull         = ""
    MAXIMUM_ALLOWED   = 33554432
    RegistryErrorIndex = NO_ERROR
    KeyProduct      = ""
    KeyParameters   = ""
    TRUE         = 1
    FALSE        = 0
    NoTitle      = 0
    fRemoveDigi = TRUE
[DebugOptions]
    !DebugOutputControl = 0
[UiVars]
from      = ""
to        = ""
    !STF_NTDRIVE        = ""
    !STF_NTPATH         = ""
    !STF_WINDOWSPATH    = "" ? $(!LIBHANDLE) GetWindowsNtDir
    !STF_WINDOWSSYSPATH = "" ? $(!LIBHANDLE) GetWindowsNtSysDir
    !STF_FLOPPYLIST     = {} ? $(!LIBHANDLE) GetFloppyDriveLetters
    !STF_UNUSEDDRIVES   = {} ? $(!LIBHANDLE) GetUnusedDrives
    !STF_LANGUAGE       = "ENG"
    VolumeList      = {} ? $(!LIBHANDLE) GetHardDriveLetters
    VolumeFreeList  = {} ? $(!LIBHANDLE) GetHardDriveFreeSpace
    VolumeFSList    = {} ? $(!LIBHANDLE) GetHardDriveFileSystems
    DestVolume      = ""
    MinHelpID   = 25000
    MaxHelpID   = 25999
[date]
    Now = {} ? $(!LIBHANDLE) GetSystemDate
[Identify]
    read-syms Identification
    set Status     = STATUS_SUCCESSFUL
    set Identifier = $(OptionType)
    set Media      = #("Source Media Descriptions", 1, 1)
    Return $(Status) $(Identifier) $(Media)
[ReturnOptions]
    set Status        = STATUS_FAILED
    set OptionList     = {}
    set OptionTextList = {}
    set LanguageList = ^(LanguagesSupported, 1)
    Ifcontains(i) $($0) in $(LanguageList)
        ifstr(i) $($1) == ""
            goto returnoptions
        endif
        set PlatformList = ^(PlatformsSupported, 1)
        Ifcontains(i) $($1) in $(PlatformList)
            goto returnoptions
        else
            set Status = STATUS_NOTSUPPORTED
            goto finish_ReturnOptions
        endif
    Else
        set Status = STATUS_NOLANGUAGE
        goto finish_ReturnOptions
    Endif
returnoptions = +
    ifstr(i) $($1) == "MCA"
      set OptionList     = ^(OptionsMCA, 1)
      set OptionTextList = ^(OptionsTextMCA$($0), 1)
      set Status         = STATUS_SUCCESSFUL
    else
      set OptionList     = ^(Options, 1)
      set OptionTextList = ^(OptionsText$($0), 1)
      set Status         = STATUS_SUCCESSFUL
    endif
finish_ReturnOptions = +
    Return $(Status) $(OptionList) $(OptionTextList)
[Shell Commands]
    set-title "Serial Setup"
    set-subst LF = "\n"
    set Exit_Code = $(ExitCodeOk)
    Debug-Output "OEMNADDS.INF: STF_CWDDIR is "$(!STF_CWDDIR)
    Debug-Output "OEMNADDS.INF: STF_RANFROM is "$(!STF_RANFROM)
    ifstr(i) $(!STF_RANFROM) != ""
        ifstr(i) $(!STF_RANFROM) != $(!STF_CWDDIR)"SERIAL\"
           set !STF_SRCDIR = $(!STF_RANFROM)
        endif
    endif
    LoadLibrary "x" $(!STF_CWDDIR)setupdll.dll !LIBHANDLE
    shell "" InstallOption ENG DigiBoard $(!STF_SRCDIR)
    FreeLibrary $(!LIBHANDLE)
    set Status = $($R0)
    Return $(Status)
[InstallOption]
    read-syms DebugOptions
    Debug-Output "OEMNADDS.INF: In [InstallOption] section"
    set Status = STATUS_FAILED
    set Option    = $($1)
    set SrcDir    = $($2)
    set AddCopy   = $($3)
    set DoCopy    = $($4)
    set DoConfig  = $($5)
    set !SourceDir = $($2)
    set BusType = ""
    ifstr(i) $(!STF_BUSTYPE) == "MCA"
      set BusType = "MCA"
    endif
    read-syms GeneralConstants
    read-syms FileConstants
    Debug-Output "OEMNADDS.INF: Language = "$($0)
    Debug-Output "OEMNADDS.INF: OptionID = "$($1)
    Debug-Output "OEMNADDS.INF: SourceDirectory = "$($2)
    Debug-Output "OEMNADDS.INF: AddCopy = "$(AddCopy)
    Debug-Output "OEMNADDS.INF: DoCopy = "$(DoCopy)
    Debug-Output "OEMNADDS.INF: DoConfig = "$(DoConfig)
    set LanguageList = ^(LanguagesSupported, 1)
    Ifcontains(i) $($0) NOT-IN $(LanguageList)
        Debug-Output "OEMNADDS.INF: returning STATUS_NO_LANGUAGE"
        return STATUS_NOLANGUAGE
    Endif
    set-subst LF = "\n"
    Debug-Output "OEMNADDS.INF: AdapterTitle = "$(AdapterTitle)
    Debug-Output "OEMNADDS.INF: AdapterHardwareName = "$(AdapterHardwareName)
    Debug-Output "OEMNADDS.INF: AdapterHardwareDriver = "$(AdapterHardwareDriver)
    read-syms BindingInfo-DigiFEP5
    set NetRuleSoftwareBindable = $(BindingInfo)
    read-syms BindingInfo-$(AdapterHardwareDriver)
    set NetRuleSoftwareBindableHdwDriver = $(BindingInfo)
    read-syms DialogConstants$(!STF_LANGUAGE)
    ifstr(i) $(!NTN_Origination) == "NCPA"
        set Continue = "OK"
    endif
    read-syms FileConstants$(!STF_LANGUAGE)
    detect date
    set-title  $(FunctionTitle)
    set to   = Begin
    set from = Begin
    set CommonStatus = STATUS_SUCCESSFUL
    EndWait
Begin = +
    Ifstr(i) $(!NTN_InstallMode) == deinstall
        set StartLabel = removeadapter
    else-Ifstr(i) $(!NTN_InstallMode) == Update
        set StartLabel = UpgradeSoftware
    else-Ifstr(i) $(!NTN_InstallMode) == bind
        set StartLabel = bindingadapter
    else-Ifstr(i) $(!NTN_InstallMode) == configure
        set StartLabel = getAdapterSettings
        Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
            Debug-Output "Cannot configure the DigiBoard FEP 5 driver software."
            Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
            ifint $($ShellCode) != $(!SHELL_CODE_OK)
                Debug-Output "ShellCode error: cannot get an error string."
                goto ShellCodeError
            endif
            set Error = $($R0)
            set from = end
            set to = end
            goto nonfatalinfo
        endif
        Ifstr(i) $(ProductKeyNameHdwDriver) == $(!NTN_RegBase)
            Debug-Output "This should not have happened!  Cannot configure the "$(AdapterHardwareName)" driver software."
            Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
            ifint $($ShellCode) != $(!SHELL_CODE_OK)
                Debug-Output "ShellCode error: cannot get an error string."
                goto ShellCodeError
            endif
            set Error = $($R0)
            set from = end
            set to = end
            goto nonfatalinfo
        endif
        Debug-Output "We need to determine how to find out which adapter"
        Debug-Output "  we should be configuring!!!!!!"
        set from = writeparameters
        Debug-Output "setting from = "$(from)
    else
        set StartLabel = installadapter
        set OEM_ABANDON_OPTIONS = {}
        set OEM_ABANDON_SOFTWARE = FALSE
        set OEM_ABANDON_ON = TRUE
    endif
    Debug-Output "OEMNADDS.INF: Option is: "$(Option)
    set to = $(fatal)
    Goto $(StartLabel)
installadapter = +
    Debug-Output "******************Entering installadapter******************"
    OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
    Ifstr $(KeyProduct) != $(KeyNull)
        CloseRegKey $(KeyProduct)
        ifstr(i) $(!NTN_RegBase) == $(ProductKeyName)
           Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
               $(ProductVersion)
           ifint $($ShellCode) != $(!SHELL_CODE_OK)
               Debug-Output "ShellCode error: Don't allow installation of software."
               goto ShellCodeError
           endif
           goto end
        else
            OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyNameHdwDriver) +
                       $(MAXIMUM_ALLOWED) KeyProductHdwDriver
            Ifstr $(KeyProductHdwDriver) != $(KeyNull)
                CloseRegKey $(KeyProductHdwDriver)
                Shell $(UtilityInf), CardExistedDlg
                ifint $($ShellCode) != $(!SHELL_CODE_OK)
                    Debug-Output "ShellCode error: --One adapter all ready exists, install another-- FAILED."
                    goto ShellCodeError
                endif
                ifstr(i) $($R1) != "OK"
                    goto end
                endif
                set HdwDriverComponentExists = $(TRUE)
            EndIf   
            set OldVersionExisted = $(TRUE)
        endif
    endif
    goto skipoptions
skipoptions = +
    Debug-Output "******************Entering skipoptions******************"
    ifint $(HdwDriverComponentExists) == $(TRUE)
        ifstr(i) $(!NTN_InstallMode) == configure
            goto getAdapterSettings
        endif
    endif
    StartWait
    ifint $(HdwDriverComponentExists) == $(FALSE)
        ifstr(i) $(!NTN_InstallMode) == "install"
           shell $(UtilityInf) AssignAdapterNumber
           set AdapterName = $(ProductHardwareName)$($R1)
           Ifstr(i) $(DoCopy) == "YES"
              Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
              Ifint $($ShellCode) != $(!SHELL_CODE_OK)
                  Debug-Output"Shell code error: DoAskSource"
                  Goto ShellCodeError
              Else-Ifstr(i) $($R0) == STATUS_FAILED
                  Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
                  ifint $($ShellCode) != $(!SHELL_CODE_OK)
                      goto ShellCodeError
                  endif
                  set Error = $($R0)
                  Goto fatal
              Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
                  set CommonStatus = STATUS_USERCANCEL
                  Goto successful
              Endif
              Set SrcDir = $($R1)
           Endif
           install "Install-Option"
           ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
              Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
              ifint $($ShellCode) != $(!SHELL_CODE_OK)
                  goto ShellCodeError
              endif
              set Error = $($R0)
              goto fatal
           endif
        endif
    endif
    set from = addDigiFEP5Component
    goto getAdapterSettings
addDigiFEP5Component = +
    Debug-Output "******************Entering addDigiFEP5Component******************"
    Ifint $(OldVersionExisted) == $(TRUE)
        goto addHdwDriverComponent
    Endif
    Debug-Output "OEMNADDS.INF: Adding DigiFEP5Component"
        set DigiSpecificString = $(ProductSoftwareName)
        set TypeofService = "kernelautostart"
        set ServiceOrderGroup = "Extended base"
        set Dependencies = {}
        set ObjectName = ""
        set TypeSupported = "7"
        set EventLogLocation = "System"
        set ErrorControlValue = 1
        Debug-Output "OEMNADDS.INF: [InstallOption]:skipoptions: About to call AddSoftwareComponent"
        Debug-Output "OEMNADID.INF:     Paramters passed in:"
        Debug-Output "OEMNADDS.INF:         Manufacturer = "$(Manufacturer)
        Debug-Output "OEMNADDS.INF:         Product = "$(ProductSoftwareName)
        Debug-Output "OEMNADDS.INF:         Service = "$(ProductSoftwareName)
        Debug-Output "OEMNADDS.INF:         Display name = "$(ProductSoftwareTitle)
        Debug-Output "OEMNADDS.INF:         INFfile = "$(STF_CONTEXTINFNAME)
        Debug-Output "OEMNADDS.INF:         ImagePath = "$(ProductSoftwareImagePath)
        Debug-Output "OEMNADDS.INF:         Type of software = "$(TypeofService)
        Debug-Output "OEMNADDS.INF:         Service Order group = "$(ServiceOrderGroup)
        Debug-Output "OEMNADDS.INF:         Dependencies = "$(Dependencies)
        Debug-Output "OEMNADDS.INF:         ObjectName = "$(ObjectName)
        Debug-Output "OEMNADDS.INF:         EventMessageFile = "$(IoLogMsgDLL)";"$(ProductSoftwareImagePath)
        Debug-Output "OEMNADDS.INF:         TypeSupported = "$(TypeSupported)
        Debug-Output "OEMNADDS.INF:         Event log location = "$(EventLogLocation)
        Debug-Output "OEMNADDS.INF:         Error control value = "$(ErrorControlValue)
        Shell $(UtilityInf), AddSoftwareComponent, +
                                    $(Manufacturer), +
                                    $(ProductSoftwareName), +
                                    $(ProductSoftwareName), +
                                    $(ProductSoftwareTitle), +
                                    $(STF_CONTEXTINFNAME), +
                                    $(ProductSoftwareImagePath), +
                                    $(TypeofService), +
                                    $(ServiceOrderGroup), +
                                    $(Dependencies), +
                                    $(ObjectName), +
                                    $(IoLogMsgDLL)";"$(ProductSoftwareImagePath), +
                                    $(TypeSupported), +
                                    $(EventLogLocation), +
                                    $(ErrorControlValue)
        Set OEM_ABANDON_SOFTWARE = TRUE
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
            Debug-Output "ShellCode error: Add software component FAILED!"
            goto ShellCodeError
        endif
        set RegistryErrorIndex = $($R0)
        Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
            EndWait
            Debug-Output "Registry error: add software components"
            CloseRegKey $($R1)
            CloseRegKey $($R2)
            CloseRegKey $($R3)
            CloseRegKey $($R4)
            CloseRegKey $($R5)
            goto fatalregistry
        endif
        Set SoftProductKey      = $($R1)
        Set SoftNetRuleKey      = $($R2)
        Set SoftServiceKey      = $($R3)
        Set SoftParameterKey    = $($R4)
        Set SoftLinkageKey      = $($R5)
        set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
                           {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
                           {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
                           {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
                           {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
                           {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
                           {hidden,$(NoTitle),$(!REG_VT_DWORD),$(NetRuleSoftwareHiddenDriver)}, +
                           {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
        Shell  $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
            Debug-Output "ShellCode error: AddValueList FAILED!  --"$(SoftProductKey)
            goto ShellCodeError
        endif
        set RegistryErrorIndex = $($R0)
        Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
            EndWait
            Debug-Output "Registry error: add value list."
            CloseRegKey $(SoftProductKey)
            CloseRegKey $(SoftNetRuleKey)
            CloseRegKey $(SoftServiceKey)
            CloseRegKey $(SoftParameterKey)
            CloseRegKey $(SoftLinkageKey)
            goto fatalregistry
        endif
        set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
                            {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
                            {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
                            {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
                            {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
                            {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
        Shell  $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
            Debug-Output "ShellCode error: AddValueList FAILED! --"$(SoftNetRuleKey)
            goto ShellCodeError
        endif
        set RegistryErrorIndex = $($R0)
        FlushRegKey $(SoftProductKey)
        FlushRegKey $(SoftNetRuleKey)
        FlushRegKey $(SoftServiceKey)
        FlushRegKey $(SoftParameterKey)
        FlushRegKey $(SoftLinkageKey)
        CloseRegKey $(SoftProductKey)
        CloseRegKey $(SoftNetRuleKey)
        CloseRegKey $(SoftServiceKey)
        CloseRegKey $(SoftParameterKey)
        CloseRegKey $(SoftLinkageKey)
        Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
            EndWait
            Debug-Output "Registry error: add value list."
            goto fatalregistry
        endif
        goto addHdwDriverComponent
addHdwDriverComponent = +
    Debug-Output "******************Entering addHdwDriverComponent******************"
    set DigiSpecificString = $(AdapterHardwareName)
    Ifint $(HdwDriverComponentExists) == $(TRUE)
        goto addAdapterComponent
    Endif
    Debug-Output "OEMNADDS.INF: Adding HdwDriverComponent"
        set TypeofService = "kernelautostart"
        set ServiceOrderGroup = "Extended base"
        set Dependencies = {}
        set ObjectName = ""
        set TypeSupported = "7"
        set EventLogLocation = "System"
        set ErrorControlValue = 1
        Shell $(UtilityInf), AddSoftwareComponent, +
                                    $(Manufacturer), +
                                    $(ProductSoftwareNameHdwDriver), +
                                    $(ProductSoftwareNameHdwDriver), +
                                    $(ProductSoftwareTitleHdwDriver), +
                                    $(STF_CONTEXTINFNAME), +
                                    $(ProductSoftwareImagePathHdwDriver), +
                                    $(TypeofService), +
                                    $(ServiceOrderGroup), +
                                    $(Dependencies), +
                                    $(ObjectName), +
                                    $(IoLogMsgDLL)";"$(ProductSoftwareImagePathHdwDriver), +
                                    $(TypeSupported), +
                                    $(EventLogLocation), +
                                    $(ErrorControlValue)
        Set OEM_ABANDON_SOFTWARE = TRUE
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
            Debug-Output "ShellCode error: AddSoftwareComponent FAILED! -- "$(ProductSoftwareNameHdwDriver)
            goto ShellCodeError
        endif
        set RegistryErrorIndex = $($R0)
        Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
            EndWait
            Debug-Output "Registry error: add software components"
            CloseRegKey $($R1)
            CloseRegKey $($R2)
            CloseRegKey $($R3)
            CloseRegKey $($R4)
            CloseRegKey $($R5)
            goto fatalregistry
        endif
        Set SoftProductKey      = $($R1)
        Set SoftNetRuleKey      = $($R2)
        Set SoftServiceKey      = $($R3)
        Set SoftParameterKey    = $($R4)
        Set SoftLinkageKey      = $($R5)
        set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
                           {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersionHdwDriver)},+
                           {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersionHdwDriver)},+
                           {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitleHdwDriver)},+
                           {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescriptionHdwDriver)},+
                           {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareNameHdwDriver)},+
                           {hidden,$(NoTitle),$(!REG_VT_DWORD),$(NetRuleSoftwareHiddenHdwDriver)}, +
                           {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
        Shell  $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
            Debug-Output "ShellCode error: AddValueList FAILED!  -- "$(SoftProductKey)
            goto ShellCodeError
        endif
        set RegistryErrorIndex = $($R0)
        Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
            EndWait
            Debug-Output "Resgitry error: add value list."
            CloseRegKey $(SoftProductKey)
            CloseRegKey $(SoftNetRuleKey)
            CloseRegKey $(SoftServiceKey)
            CloseRegKey $(SoftParameterKey)
            CloseRegKey $(SoftLinkageKey)
            goto fatalregistry
        endif
        set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareTypeHdwDriver)},+
                            {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUseHdwDriver)}, +
                            {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindFormHdwDriver)}, +
                            {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClassHdwDriver)}, +
                            {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindableHdwDriver)}, +
                            {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
        Shell  $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
            Debug-Output "ShellCode error. AddValueList FAILED!  -- "$(SoftNetRuleKey)
            goto ShellCodeError
        endif
        set RegistryErrorIndex = $($R0)
        FlushRegKey $(SoftProductKey)
        FlushRegKey $(SoftNetRuleKey)
        FlushRegKey $(SoftServiceKey)
        FlushRegKey $(SoftParameterKey)
        FlushRegKey $(SoftLinkageKey)
        CloseRegKey $(SoftProductKey)
        CloseRegKey $(SoftNetRuleKey)
        CloseRegKey $(SoftServiceKey)
        CloseRegKey $(SoftParameterKey)
        CloseRegKey $(SoftLinkageKey)
        Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
            EndWait
            Debug-Output "Registry error: add value list."
            goto fatalregistry
        endif
addAdapterComponent = +
    Debug-Output "******************Entering addAdapterComponent******************"
    Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName), +
                                    $(STF_CONTEXTINFNAME), $(ProductKeyNameHdwDriver)
    ifint $($R4) != -1
        Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
    endif
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
        Debug-Output "Cannot add hardware component!"
        goto ShellCodeError
    endif
    set RegistryErrorIndex = $($R0)
    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
        EndWait
        Debug-Output "Registry error: add hardware component"
        Debug-Output $(RegistryErrorIndex)
        CloseRegKey $($R1)
        CloseRegKey $($R2)
        CloseRegKey $($R3)
        goto fatalregistry
    endif
    set KeyParameters = $($R3)
    set KeyAdapterRules = $($R2)
    set AdapterNumber = $($R4)
    set AdapterServiceName = $($R5)
    set AdapterName = $(AdapterServiceName)
    set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
                       {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardwareTitle)},+
                       {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareDescription)},+
                       {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
                       {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
                       {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
    Shell  $(UtilityInf), AddValueList, $($R1), $(NewValueList)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
        Debug-Output "ShellCode error: AddValueList FAILED  -- "$($R1)
        goto ShellCodeError
    endif
    shell $(UtilityInf) IncrementRefCount $(ProductKeyName)
    set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
    set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
    set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
                        {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
                        {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
                        {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
    Shell  $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
        Debug-Output "ShellCode error."
        goto ShellCodeError
    endif
    set RegistryErrorIndex = $($R0)
    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
        EndWait
        Debug-Output "Resgitry error: add value list."
        CloseRegKey $(KeyParameters)
        CloseRegKey $(KeyAdapterRules)
        goto fatalregistry
    endif
    FlushRegKey $(KeyParameters)
    FlushRegKey $(KeyAdapterRules)
    CloseRegKey $(KeyParameters)
    CloseRegKey $(KeyAdapterRules)
    goto writeparameters
configureadapter = +
    Debug-Output "******************Entering configureadapter******************"
    Debug-Output "OEMNADDS.INF: PortNameList = "$(PortNameList)
    QueryListSize IRQRangeListSize $(IRQRangeList)
    QueryListSize MemoryRangeListSize $(MemoryRangeList)
    QueryListSize IORangeListSize $(IORangeList)
    QueryListSize PortNameListSize $(PortNameList)
    LibraryProcedure Result, $(DGCONFIG_HANDLE), +
            DGConfigEntryPoint, $(!STF_HWND), $(AdapterHardwareType), +
                $(ConfigurationTitle), +
                $(IRQRangeList), +
                $(IRQRangeListSize), +
                $(IRQDefault), +
                $(MemoryRangeList), +
                $(MemoryRangeListSize), +
                $(MemoryDefault), +
                $(IORangeList), +
                $(IORangeListSize), +
                $(IODefault), +
                $(CtrlList), +
                $(AdapterName)
    Debug-Output $(Result)
    Ifstr $(Result) == "{}"
        set CommonStatus = STATUS_USERCANCEL
        goto successful
    Endif
    set AdapterParameters = $(Result)
    read-syms UpdatingConfiguration$(!STF_LANGUAGE)
    shell $(subroutninf) PushBillBoard NETSTATUSDLG $(UpdatingConfiguration)
    Debug-Output "jumping to "$(from)
    goto $(from)
getAdapterSettings = +
    Debug-Output "******************Entering getAdapterSettings******************"
    Debug-Output "from value = "$(from)
    set IRQDefault = 0
    set MemoryDefault = 3
    set IODefault = 4
    LoadLibrary "x" dgconfig.dll DGCONFIG_HANDLE
    read-syms AdapterSettings-$(AdapterHardwareName)
    Ifstr $(!NTN_RegBase) != $(KeyNull)
        OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) SoftwareKey
        Ifstr $(SoftwareKey) == $(KeyNull)
            Debug-Output "Unable to open "$(!NTN_RegBase)" key!!!!"
            goto getAdapterSettingsExit
        Else
            GetRegValue $(SoftwareKey), "ServiceName", ServiceNameList
            set AdapterServiceName = *($(ServiceNameList),4)
            set AdapterName = $(AdapterServiceName)
            CloseRegKey $(SoftwareKey)
        Endif
    Endif
    Debug-Output "AdapterServiceName = "$(AdapterServiceName)
    Debug-Output "AdapterName = "$(AdapterName)
    OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(AdapterServiceName) $(MAXIMUM_ALLOWED) BaseKey
    Ifstr $(BaseKey) == $(KeyNull)
        Debug-Output "Error opening BaseKey "$(!NTN_ServiceBase)"\"$(AdapterServiceName)
        CloseRegKey $(BaseKey)
        goto fatalregistry
    Endif
    set BusTypeNum = 1
    OpenRegKey $(BaseKey) "" "Parameters" $(MAXIMUM_ALLOWED) ParametersKey
    Ifstr $(ParametersKey) == $(KeyNull)
        Debug-Output "Assuming Parameters key does not exist!!!"
        ifstr(i) $(BusType) == "MCA"
            ForListDo $(AdapterHardwareAdapterID)
               Debug-Output "Calling MCAFindBus, "*($(AdapterIDByte1),$(#))", "*($(AdapterIDByte2),$(#))
               Shell $(UtilityInf), MCAFindBus, *($(AdapterIDByte1),$(#)), *($(AdapterIDByte2),$(#))
               Debug-Output "MCAFindBus returned "$($R1)
               set CardInfo = {}
               ifstr(i) $($R1) != {}
                  set CardInfo = $($R1)
                  Debug-Output "MCA controller found!"
                  Debug-Output "CardInfo = "$(CardInfo)
                  ForListDo $(CardInfo)
                     Debug-Output "Current CardInfo Entry = "$($)
                     set TmpBusNumber = *($($), 1)
                     set SlotNumber = *($($), 2)
                     set MCAPosId = *($($), 3)
                     Debug-Output "Calling DoesControllerExist:"
                     Debug-Output "    AdapterHardwareName = "$(AdapterHardwareName)
                     Debug-Output "    BusNumber = "$(TmpBusNumber)
                     Debug-Output "    Slot # = "$(SlotNumber)
                     Debug-Output " DGCONFIG_HANDLE = "$(DGCONFIG_HANDLE)
                     LibraryProcedure Result, $(DGCONFIG_HANDLE), +
                        DoesControllerExist, $(AdapterHardwareName), +
                                             $(TmpBusNumber),        +
                                             $(SlotNumber)
                     Debug-Output "DoesControllerExist return: "$(Result)
                     ifstr(i) $(Result) == "FALSE"
                        Debug-Output "Before resetting IORangeList for MCA: "$(IORangeList)
                        set IORangeList = {Slot$(SlotNumber)}
                        set IODefault = 0
                        Debug-Output "After resetting IORangeList for MCA: "$(IORangeList)
                        Debug-Output "Before resetting MemoryRangeList for MCA: "$(MemoryRangeList)
                        set MemoryDefault = 0
                        set MemoryRangeList = {Slot$(SlotNumber)}
                        Debug-Output "After resetting MemoryRangeList for MCA: "$(MemoryRangeList)
                        set BusTypeNum = 3
                        goto getAdapterSettingsExit
                     endif
                  EndForListDo
               endif
            EndForListDo
        else
            ForListDo $(AdapterHardwareAdapterID)
              ifint $($) != 0
                  Debug-Output "Calling EISAFindBus, "$($)
                  Shell $(UtilityInf), EISAFindBus, $($)
                  set CardInfo = {}
                  ifstr(i) $($R1) != {}
                     set CardInfo = $($R1)
                     Debug-Output "EISA controller found!"
                     Debug-Output "CardInfo = "$(CardInfo)
                      ForListDo $(CardInfo)
                         Debug-Output "Current CardInfo Entry = "$($)
                         set TmpBusNumber = *($($), 1)
                         set SlotNumber = *($($), 2)
                         set-mul NewIOBaseAddress = $(SlotNumber), 4096
                         set-add NewIOBaseAddress = $(NewIOBaseAddress), 5
                         set-dectohex NewIOBaseAddress = $(NewIOBaseAddress)
                         Debug-Output "Calling DoesControllerExist:"
                         Debug-Output "    AdapterHardwareName = "$(AdapterHardwareName)
                         Debug-Output "    BusNumber = "$(TmpBusNumber)
                         Debug-Output "    NewIOBaseAddress = "$(NewIOBaseAddress)
                         Debug-Output " DGCONFIG_HANDLE = "$(DGCONFIG_HANDLE)
                         LibraryProcedure Result, $(DGCONFIG_HANDLE), +
                            DoesControllerExist, $(AdapterHardwareName), +
                                                 $(TmpBusNumber),        +
                                                 $(NewIOBaseAddress)
                         Debug-Output "DoesControllerExist return: "$(Result)
                         ifstr(i) $(Result) == "FALSE"
                            Debug-Output "Before resetting IORangeList for EISA: "$(IORangeList)
                            set IORangeList = {$(NewIOBaseAddress)}
                            set IODefault = 0
                            Debug-Output "After resetting IORangeList for EISA: "$(IORangeList)
                            set BusTypeNum = 2
                            goto getAdapterSettingsExit
                         endif
                      EndForListDo
                  endif
               endif
            EndForListDo
        endif
        CloseRegKey $(BaseKey)
        goto configureadapter
    Endif
    GetRegValue $(ParametersKey) "MemoryMappedBaseAddress" MemoryMappedValueList
    GetRegValue $(ParametersKey) "InterruptNumber" IRQValueList
    GetRegValue $(ParametersKey) "IOBaseAddress" IOBaseValueList
    ifstr(i) $(BusType) != "MCA"
       set-dectohex TmpHex = *($(MemoryMappedValueList),4)
       Debug-Output "Current MemoryMappedBaseAddress = "$(TmpHex)
       ForListDo $(MemoryRangeList)
           Ifstr(i) $(TmpHex) == "0x"$($)
               set-sub MemoryDefault = $(#),1
           Endif
       EndForListDo
    else
      GetRegValue $(ParametersKey) "SlotNumber" SlotNumber
      Debug-Output "SlotNumber read from registry = "*($(SlotNumber),4)
      set MemoryDefault = 0
      set MemoryRangeList = {Slot*($(SlotNumber),4)}
    endif
       set-dectohex TmpHex = *($(IRQValueList),4)
       Debug-Output "Current InterruptNumber = "$(TmpHex)
       ForListDo $(IRQRangeList)
           Ifstr(i) $(TmpHex) == "0x"$($)
               set-sub IRQDefault = $(#),1
           Endif
       EndForListDo
    ifstr(i) $(BusType) != "MCA"
       set IOFound = $(FALSE)
       set-dectohex TmpHex = *($(IOBaseValueList),4)
       Debug-Output "Current IOBaseAddress = "$(TmpHex)
       ForListDo $(IORangeList)
           Ifstr(i) $(TmpHex) == "0x"$($)
               set-sub IODefault = $(#),1
               set IOFound = $(TRUE)
           Endif
       EndForListDo
       ifint $(IOFound) == $(FALSE)
         set IORangeList = {$(TmpHex)}
         set IODefault = 0
         set BusTypeNum = 2
       endif
    else
       set IORangeList = {Slot*($(SlotNumber),4)}
       set IODefault = 0
    endif
    set CtrlList = {}
    set LineList = {}
    ForListDo {"1","2"}
      set CurrentLine = "Line"$($)
      Debug-Output "CurrentLine = "$(CurrentLine)
      OpenRegKey $(ParametersKey) "" $(CurrentLine) $(MAXIMUM_ALLOWED) LineKey
            Ifstr $(LineKey) != $(KeyNull)
               set ConcList = {}
               ForListDo {"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16"}
                  set CurrentConc = "Concentrator"$($)
                  OpenRegKey $(LineKey) "" $(CurrentConc) $(MAXIMUM_ALLOWED) ConcKey
                  Ifstr $(ConcKey) != $(KeyNull)
                     set PortNameList = {}
                     set CurrentPort = ""
                     set PortName = {}
                     ForListDo {"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16"}
                        set CurrentPort = "Port"$($)
                        OpenRegKey $(ConcKey) "" $(CurrentPort) $(MAXIMUM_ALLOWED) PortKey
                        Ifstr $(PortKey) != $(KeyNull)
                           GetRegValue $(PortKey) "DosDevices" PortName
                           Ifstr $(PortNameList) == $(KeyNull)
                              set PortNameList = *($(PortName),4)
                           Else
                              set PortNameList = >($(PortNameList), >($(CurrentPort),*($(PortName),4)))
                           Endif
                           CloseRegKey $(PortKey)
                        EndIf
                     EndForListDo
                     CloseRegKey $(ConcKey)
                     set ConcList = >($(ConcList),>($(CurrentConc),$(PortNameList)))
                  EndIf
               EndForListDo
               CloseRegKey $(LineKey)
               set TmpLine = >($(CurrentLine),$(ConcList))
               set LineList = >($(LineList),$(TmpLine))
            Endif
            Debug-Output "LineList = "$(LineList)
            set CtrlList = $(LineList)
    EndForListDo
    CloseRegKey $(ParametersKey)
    CloseRegKey $(BaseKey)
getAdapterSettingsExit = +
    goto configureadapter
writeparameters = +
    Debug-Output "******************Entering writeparameters******************"
    StartWait
    Debug-Output "Trying to open: "$(!NTN_ServiceBase)"\"$(AdapterServiceName)
    Debug-Output "AdapterParameters:"
    Debug-Output $(AdapterParameters)
    OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(AdapterServiceName) $(MAXIMUM_ALLOWED) BaseKey
    Ifstr $(BaseKey) == $(KeyNull)
        Debug-Output "Error opening BaseKey "$(!NTN_ServiceBase)"\"$(AdapterServiceName)
        CloseRegKey $(BaseKey)
        goto fatal
    Endif
    OpenRegKey $(BaseKey) "" "Parameters" $(MAXIMUM_ALLOWED) ParametersKey
    Ifstr $(ParametersKey) == $(KeyNull)
        Debug-Output "Assuming Parameters key does not exist!!!"
        CloseRegKey $(BaseKey)
        goto fatal
    Endif
    Debug-Output "AdapterParameters parsed: "
    set MemoryAddress = *($(AdapterParameters),1)
    set InterruptNumber = *($(AdapterParameters),2)
    set IOBaseAddress = *($(AdapterParameters),3)
    set HdwDeviceName = "\Device\"$(AdapterHardwareDriver)
    Debug-Output "MemoryAddress = "$(MemoryAddress)
    Debug-Output "InterruptNumber = "$(InterruptNumber)
    Debug-Output "IOBaseAddress = "$(IOBaseAddress)
    Debug-Output "HdwDeviceName = "$(HdwDeviceName)
    SetRegValue $(ParametersKey) {MemoryMappedBaseAddress,$(NoTitle),$(!REG_VT_DWORD),$(MemoryAddress)}
    SetRegValue $(ParametersKey) {IOBaseAddress,$(NoTitle),$(!REG_VT_DWORD),$(IOBaseAddress)}
    SetRegValue $(ParametersKey) {InterruptNumber,$(NoTitle),$(!REG_VT_DWORD),$(InterruptNumber)}
    SetRegValue $(ParametersKey) {HdwDeviceName,$(NoTitle),$(!REG_VT_SZ),$(HdwDeviceName)}
    SetRegValue $(ParametersKey) {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)}
    ifstr(i) $(BusType) == "MCA"
      SetRegValue $(ParametersKey) {MCAPosId,$(NoTitle),$(!REG_VT_DWORD),$(MCAPosId)}
      SetRegValue $(ParametersKey) {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNumber)}
    endif
    set LineList = *($(AdapterParameters),4)
    ForListDo $(LineList)
      set LineObject = $($)
      set LineName = *($(LineObject),1)
      DeleteRegTree $(ParametersKey) $(LineName)
      set ConcList = *($(LineObject),2)
      Ifstr $(ConcList) != "{}"
         shell "" ExCreateRegKey $(ParametersKey) $(LineName)
         Ifstr(i) $($R0) != NO_ERROR
             Debug-Output "Error creating registry key!"
             set KeyHandle = $($R1)
             CloseRegKey $(BaseKey)
             goto fatal
         Endif
         set LineKey = $($R1)
      Endif
      ForListDo $(ConcList)
         set ConcObject = $($)
         set ConcName = *($(ConcObject),1)
         set PortList = *($(ConcObject),2)
         Debug-Output "   "$(ConcName)
         Debug-Output "   "$(PortList)
         shell "" ExCreateRegKey $(LineKey) $(ConcName)
         Ifstr(i) $($R0) != NO_ERROR
             Debug-Output "Error creating registry key!"
             set KeyHandle = $($R1)
             CloseRegKey $(LineKey)
             goto fatal
         Endif
         set ConcKey = $($R1)
         ForListDo $(PortList)
            set PortObject = $($)
            set PortName = *($(PortObject),1)
            set PortDosDevices = *($(PortObject),2)
            Debug-Output "      "$(PortName)"  -> "$(PortDosDevices)
            shell "" ExCreateRegKey $(ConcKey) $(PortName)
            Ifstr(i) $($R0) != NO_ERROR
                Debug-Output "Error creating registry key!"
                set KeyHandle = $($R1)
                CloseRegKey $(LineKey)
                goto fatal
            Endif
            set PortKey = $($R1)
            SetRegValue $(PortKey) {DosDevices,$(NoTitle),$(!REG_VT_SZ),$(PortDosDevices)}
         EndForListDo
      EndForListDo
    EndForListDo
    EndWait
    goto successful
bindingadapter = +
    Debug-Output "******************Entering bindingadapter******************"
    LoadLibrary "x" dgconfig.dll DGCONFIG_HANDLE
    set Error = "Binding: Sorry, not yet implemented."
    goto fatal
removeadapter = +
    read-syms DebugOptions
    Debug-Output "******************Entering removeadapter******************"
    Debug-Output "OEMNADDS.INF: removeadapter"
    Debug-Output "OEMNADDS.INF: Removing Hardware Components"
    Debug-Output "OEMNADDS.INF: ProductKeyName = "$(ProductKeyName)
    Debug-Output "OEMNADDS.INF: ProductSoftwareName = "$(ProductSoftwareName)
    Debug-Output "OEMNADDS.INF: ProductSoftwareNameHdwDriver = "$(ProductSoftwareNameHdwDriver)
    Debug-Output "OEMNADDS.INF: NTN_RegBase = "$(!NTN_RegBase)
    ifstr(i) $(fRemoveDigi) == FALSE
      install RemoveFiles
      goto removeadapterExit
    endif
    LoadLibrary "x" dgconfig.dll DGCONFIG_HANDLE
    Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
        $(ProductSoftwareNameHdwDriver), $(!NTN_RegBase)
    Debug-Output "OEMNADDS.INF: RemoveHardwareComponent return value = "$($R0)
    Ifstr(i) $($R0) != NO_ERROR
        Debug-Output "OEMNADDS.INF: RemoveHardwareComponent != NO_ERROR"
    Endif
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
        Debug-Output "ShellCode error"
        goto ShellCodeError
    endif
    set RegistryErrorIndex = $($R0)
    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
        Debug-Output "fatal registry error"
        goto fatalregistry
    endif
    shell $(UtilityInf), DecrementRefCount, $(ProductKeyName)
    Debug-Output "OEMNADDS.INF: DecrementRefCount return value = "$($R0)
    Ifstr(i) $($R0) != NO_ERROR
        Debug-Output "OEMNADDS.INF: DecrementRefCount != NO_ERROR"
    Endif
    Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
        $(ProductSoftwareName), TRUE
    Debug-Output "RemoveSoftwareComponent return value = "$($R0)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
        Debug-Output "ShellCode error"
        goto ShellCodeError
    endif
    set RegistryErrorIndex = $($R0)
    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
        Ifstr(i) $(RegistryErrorIndex) != REF_COUNT_NOT_ZERO
            goto fatalregistry
        endif
    endif
    install RemoveFiles
removeadapterExit = +
    Debug-Output "OEMNADDS.INF: Exiting removeadapter"
    goto end
UpgradeSoftware = +
    Debug-Output "******************Entering UpgradeSoftware******************"
    LoadLibrary "x" dgconfig.dll DGCONFIG_HANDLE
    ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
        OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
        Ifstr $(KeyProduct) != $(KeyNull)
            GetRegValue $(KeyProduct),"MajorVersion", VersionInfo
            set Version = *($(VersionInfo), 4)
            Split-String $(!NTN_Infname), "\", FilenameList
            QueryListSize ListSize $(FilenameList)
            set !UG_Filename = *($(FilenameList), $(ListSize))
            install "Install-Update"
            ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
                goto fatal
            endif
            SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
            SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
            ifint $(Version) != $(ProductVersion)
            endif
            CloseRegKey $(KeyProduct)
        else
            goto fatalregistry
        endif
    else
        OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) +
              $(MAXIMUM_ALLOWED) NetworkCardKey
        Ifstr(i) $(NetworkCardKey) != $(KeyNull)
            GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo
            set ServiceName = *($(ServiceNameInfo), 4)
            OpenRegKey $(NetworkCardKey) "" "NetRules" +
                $(MAXIMUM_ALLOWED) NetRuleKey
            Ifstr $(NetRuleKey) != $(KeyNull)
            else
                goto fatalregistry
            endif
            CloseRegKey $(NetRules)
            CloseRegKey $(NetworkCardKey)
        else
            goto fatalregistry
        endif
        OpenRegKey $(!REG_H_LOCAL) "" +
              $(!NTN_ServiceBase)"\"$(ServiceName) +
              $(MAXIMUM_ALLOWED) ServiceKey
        Ifstr $(ServiceKey) != $(KeyNull)
            CloseRegKey $(ServiceKey)
        else
            goto fatalregistry
        endif
    endif
    goto end
successful = +
    Debug-Output "******************Entering successful******************"
    goto end
abandon = +
    Debug-Output "******************Entering abandon******************"
    ForListDo $(OEM_ABANDON_OPTIONS)
        Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
            $(ProductSoftwareName), $($)
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
            Debug-Output "ShellCode error"
            goto ShellCodeError
        endif
        set RegistryErrorIndex = $($R0)
        Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
            goto fatalregistry
        endif
    EndForListDo
    Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
        Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
            $(ProductSoftwareName), FALSE
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
            Debug-Output "ShellCode error"
            goto ShellCodeError
        endif
        set RegistryErrorIndex = $($R0)
        Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
            goto fatalregistry
        endif
    endif
    goto end
warning = +
    Debug-Output "******************Entering warning******************"
    Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
        goto ShellCodeError
    endif
    ifstr(i) $($R1) == "OK"
        goto $(to)
    else-ifstr(i) $($R1) == "CANCEL"
        goto $(from)
    else
        goto "end"
    endif
nonfatalinfo = +
    Debug-Output "******************Entering nonfatalinfo******************"
    Set CommonStatus = STATUS_USERCANCEL
    Set Severity = STATUS
    goto nonfatalmsg
nonfatal = +
    Debug-Output "******************Entering nonfatal******************"
    Set Severity = NONFATAL
    goto nonfatalmsg
nonfatalmsg = +
    Debug-Output "******************Entering nonfatalmsg******************"
    ifstr(i) $(Error) == ""
        Set Severity = NONFATAL
        Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
            goto ShellCodeError
        endif
        set Error = $($R0)
    endif
    Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
        goto ShellCodeError
    endif
    ifstr(i) $($R1) == "OK"
        goto $(from)
    else
        goto "end"
    endif
fatalregistry = +
    Debug-Output "******************Entering fatalregistry******************"
    Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
       Debug-Output "fatalregistry: shell to find RegistryErrorString failed."
       goto ShellCodeError
    endif
    set Error = $($R0)" - service "$(DigiSpecificString)"."
    ifstr(i) $(fRemoveDigi) == TRUE
        read-syms AbortMessage$(!STF_LANGUAGE)
        set Error = $(Error)$(!LF)$(!LF)$(AbortText)
    endif
    goto fatal
fataldetect = +
    Debug-Output "******************Entering fataldetect******************"
    Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
        Debug-Output "ShellCode error: cannot get an error string."
        goto ShellCodeError
    endif
    set Error = $($R0)
    Goto fatal
fatal = +
    Debug-Output "******************Entering fatal******************"
    Debug-Output "OEMNADDS.INF: ---- fatal called"
    Shell $(subroutninf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
        Debug-Output "fatal: shell to SetupMessage failed."
        goto ShellCodeError
    endif
    goto setfailed
ShellCodeError = +
    Debug-Output "******************Entering ShellCodeError******************"
    set DlgType      = "MessageBox"
    set STF_MB_TITLE = "Error: "$(FunctionTitle)
    set STF_MB_TEXT  = "Shell Code Error"
    set STF_MB_TYPE  = 1
    set STF_MB_ICON  = 3
    set STF_MB_DEF   = 1
    ui start "Error Message"
    goto setfailed
setfailed = +
    Debug-Output "******************Entering setfailed******************"
    set CommonStatus = STATUS_FAILED
    ifstr(i) $(fRemoveDigi) == TRUE
        set fRemoveDigi = FALSE
        goto removeadapter
    endif
    goto end
end = +
    Debug-Output "******************Entering end******************"
    goto term
term = +
    ifstr(i) $(DGCONFIG_HANDLE) != $(HandleNull)
      FreeLibrary $(DGCONFIG_HANDLE)
    endif
    Debug-Output "******************Entering term -- GoodBye!!!******************"
    Return $(CommonStatus)
[RemoveFiles]
   Debug-Output "******************Entering [RemoveFiles]******************"
   set RemoveList = {}
   set RenameList = {}
   OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyNameHdwDriver) +
              $(MAXIMUM_ALLOWED) KeyProductHdwDriver
   ifstr $(KeyProductHdwDriver) == $(KeyNull)
      CloseRegKey $(KeyProductHdwDriver)
      set RenameList = >($(RenameList), $(!STF_WINDOWSSYSPATH)"\drivers\"$(AdapterHardwareDriver)".sys")
   endif
   OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) +
              $(MAXIMUM_ALLOWED) KeyProduct
   ifstr $(KeyProduct) == $(KeyNull)
      CloseRegKey $(KeyProduct)
      set RenameList = >($(RenameList), $(!STF_WINDOWSSYSPATH)"\drivers\"$(ProductSoftwareName)".sys")
      set RenameList = >($(RenameList), $(!STF_WINDOWSSYSPATH)"\dgconfig.dll")
      set RemoveList = >($(RemoveList), $(!STF_WINDOWSSYSPATH)"\dgconfig.hlp")
   endif
   Debug-Output "RemoveList = "$(RemoveList)
   Debug-Output "RenameList = "$(RenameList)
   ForListDo $(RemoveList)
       Debug-Output "Removing "$($)
       LibraryProcedure Status , $(!LIBHANDLE), DelFile $($)
       Debug-Output "Status is "$(Status)
   EndForListDo
   ForListDo $(RenameList)
       Debug-Output "RenameList entry = "$($)
       Split-String $($) "\" FilePath
       QueryListSize PathLen $(FilePath)
       Split-String *($(FilePath),$(PathLen)) "." FullFileName
       Set FileName = *($(FullFileName),1)
       Debug-Output "FileName is "$(FileName)
       LibraryProcedure STATUS, $(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\DRIVERS\"$(FileName)".old"
       Debug-Output "CheckFile Status = "$(STATUS)
       ifstr(i) $(STATUS) == YES
           LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_WINDOWSSYSPATH)"\DRIVERS\"$(FileName)".old"
           Debug-Output "Delfile Status = "$(STATUS)
           LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $($)
           Debug-Output "Delfile Status = "$(STATUS)
       endif
       ifstr(i) $(fRemoveDigi) == TRUE
         Debug-Output "Renaming from "$($)
         Debug-Output "Renaming to "$(!STF_WINDOWSSYSPATH)"\DRIVERS\"$(FileName)".old"
         LibraryProcedure Status1 , $(!LIBHANDLE), RenFile $($), $(!STF_WINDOWSSYSPATH)"\DRIVERS\"$(FileName)".old"
         Debug-Output "Status is "$(Status1)
         AddFileToDeleteList $(!STF_WINDOWSSYSPATH)"\DRIVERS\"$(FileName)".old"
       endif
   EndForListDo
   exit
[ExCreateRegKey]
    Debug-Output "******************Entering [ExCreateRegKey]******************"
    set ECR_Result          = NO_ERROR
    set ECR_BaseKeyHandle   = $($0)
    set ECR_NewPath         = $($1)
    set KeyNull         = ""
    set MAXIMUM_ALLOWED   = 33554432
    Debug-Output "ExCreateRegKey - ECR_BaseKeyHandle = "$(ECR_BaseKeyHandle)
    Debug-Output "                 ECR_NewPath = "$(ECR_NewPath)
    Debug-Output "                 MAXIMUM_ALLOWED = "$(MAXIMUM_ALLOWED)
    Debug-Output "                 KeyNull = "$(KeyNull)
    OpenRegKey $(ECR_BaseKeyHandle) "" $(ECR_NewPath) $(MAXIMUM_ALLOWED) +
               ECR_BaseKey
    Debug-Output "ECR_BaseKey = "$(ECR_BaseKey)
    Debug-Output "    OpenRegKey returned "$($R0)
    Ifstr $(ECR_BaseKey) == $(KeyNull)
        Debug-Output "ECR_BaseKey == KeyNull"
    Else
        Debug-Output "ECR_BaseKey != KeyNull"
        set ECR_KeyHandle = $(ECR_BaseKey)
        goto  ECR_Return
    Endif
    set ECR_TmpPath = ""
    Split-String $(ECR_NewPath) "\" ECR_PList
    Debug-Output "ECR_PList = "$(ECR_PList)
    ForListDo $(ECR_PList)
        Ifstr(i) $($) != "\"
            Ifint $(#) == 1
                set ECR_TmpPath = $($)
            Else
                set ECR_TmpPath = $(ECR_TmpPath)"\"$($)
            Endif
            Debug-Output "Determining if "$(ECR_TmpPath)" exists"
            OpenRegKey $(ECR_BaseKeyHandle) "" $(ECR_TmpPath) $(MAXIMUM_ALLOWED) ECR_BaseKey
            Ifstr $(ECR_BaseKey) == $(KeyNull)
                Debug-Output "Creating "$(ECR_TmpPath)
                CreateRegKey $(ECR_BaseKeyHandle)  {$(ECR_TmpPath),0,GenericClass} "" $(MAXIMUM_ALLOWED) "" ECR_KeyHandle
                Ifstr(i) $(ECR_KeyHandle) == $(KeyNull)
                    set ECR_Result = $($R0)
                    goto ECR_Return
                Endif
            Endif
        Endif
    EndForListDo
ECR_Return = +
    return $(ECR_Result) $(ECR_KeyHandle)
[DebugExternalGlobals]
    Set InfName = "OEMNADDS.INF"
    Debug-Output $(InfName)" NTN_Origination = "$(!NTN_Origination)
    Debug-Output $(InfName)" NTN_InstallMode = "$(!NTN_InstallMode)
    Debug-Output $(InfName)" NTN_RegBase = "$(!NTN_RegBase)
    Debug-Output $(InfName)" NTN_SoftwareBase = "$(!NTN_SoftwareBase)
    Debug-Output $(InfName)" NTN_ServiceBase = "$(!NTN_ServiceBase)
    Debug-Output $(InfName)" STF_NTPATH = "$(!STF_NTPATH)
    Debug-Output $(InfName)" STF_NTWINDOWSSYSPATH = "$(!STF_WINDOWSSYSPATH)
    Debug-Output $(InfName)" STF_CWDIR = "$(!STF_CWDIR)
    Debug-Output $(InfName)" STF_LANGUAGE = "$(!STF_LANGUAGE)
    Debug-Output $(InfName)" STF_NCDETECT  = "$(!STF_NCDETECT)
    Debug-Output $(InfName)" STF_NCOPTION  = "$(!STF_NCOPTION)
    Debug-Output $(InfName)" STF_NCDETCARD = "$(!STF_NCDETCARD)
    Debug-Output $(InfName)" STF_NCDETINFO = "$(!STF_NCDETINFO)
    Debug-Output $(InfName)" STF_INSTALL_MODE = "$(!STF_INSTALL_MODE)
    Debug-Output $(InfName)" STF_CONTEXTINFNAME = "$(!STF_CONTEXTINFNAME)
    return
[DebugConfiguration]
    Set InfName = "OEMNADDS.INF"
    Debug-Output $(InfName)" **CONFIGURATION STATE: "$($0)
    Debug-Output $(InfName)" IRQ_Level is "$(!p:IRQ_Level)
    Debug-Output $(InfName)" IOBaseAddrValue is "$(!p:IOBaseAddrValue)
    Debug-Output $(InfName)" TransceiverValue is "$(!p:TransceiverValue)
    Debug-Output $(InfName)" MemBaseAddrDec is "$(!p:MemBaseAddrDec)
    Debug-Output $(InfName)" MappedValue is "$(!p:MappedValue)
    return
[AdapterSettings-ntcx]
IRQRangeList = {"Disabled"}
MemoryRangeList = {"C0000","C8000","D0000","D8000","E0000","E8000"}
IORangeList = {"108","118","128","208","228","308","328"}
IRQDefault = 0
MemoryDefault = 2
IODefault = 4
[AdapterSettings-ntxem]
IRQRangeList = {"Disabled"}
MemoryRangeList = {"C0000","C8000","D0000","D8000","E0000","E8000"}
IORangeList = {"104","114","124","204","224","304","324"}
IRQDefault = 0
MemoryDefault = 2
IODefault = 4
[AdapterSettings-nt4i]
IRQRangeList = {"Disabled"}
MemoryRangeList = {"C0000","D0000","E0000"}
IORangeList = {"100","110","120","200","220","300","320"}
IRQDefault = 0
MemoryDefault = 1
IODefault = 4
[AdapterSettings-nt8i]
IRQRangeList = {"Disabled"}
MemoryRangeList = {"C0000","D0000","E0000"}
IORangeList = {"100","110","120","200","220","300","320"}
IRQDefault = 0
MemoryDefault = 1
IODefault = 4
[AdapterSettings-nt16i]
IRQRangeList = {"Disabled"}
MemoryRangeList = {"C0000","D0000","E0000"}
IORangeList = {"100","110","120","200","220","300","320"}
IRQDefault = 0
MemoryDefault = 1
IODefault = 4
[AdapterSettings-nt16e]
IRQRangeList = {"Disabled"}
MemoryRangeList = {"C0000","D0000","E0000", }
IORangeList = {"100","110","120","200","220","300","320"}
IRQDefault = 0
MemoryDefault = 1
IODefault = 4
[AdapterSettings-nt8e]
IRQRangeList = {"Disabled"}
MemoryRangeList = {"C0000","D0000","E0000", }
IORangeList = {"100","110","120","200","220","300","320"}
IRQDefault = 0
MemoryDefault = 1
IODefault = 4
[AdapterSettings-nt4e]
IRQRangeList = {"Disabled"}
MemoryRangeList = {"C0000","D0000","E0000", }
IORangeList = {"100","110","120","200","220","300","320"}
IRQDefault = 0
MemoryDefault = 1
IODefault = 4
[AdapterSettings-2Port]
IRQRangeList = {"Disabled"}
MemoryRangeList = {"C0000","C2000","C4000","C6000","C8000", "CA000", "CC000", "CE000", +
               "D0000","D2000","D4000","D6000","D8000", "DA000", "DC000", "DE000", +
               "E0000","E2000","E4000","E6000","E8000", "EA000", "EC000", "EE000" }
IORangeList = {"100","110","120","200","220","300","320"}
IRQDefault = 0
MemoryDefault = 8
IODefault = 4
[AdapterSettings-4Port]
IRQRangeList = {"Disabled"}
MemoryRangeList = {"C0000","C2000","C4000","C6000","C8000", "CA000", "CC000", "CE000", +
               "D0000","D2000","D4000","D6000","D8000", "DA000", "DC000", "DE000", +
               "E0000","E2000","E4000","E6000","E8000", "EA000", "EC000", "EE000" }
IORangeList = {"100","110","120","200","220","300","320"}
IRQDefault = 0
MemoryDefault = 8
IODefault = 4
[AdapterSettings-8Port]
IRQRangeList = {"Disabled"}
MemoryRangeList = {"C0000","C2000","C4000","C6000","C8000", "CA000", "CC000", "CE000", +
               "D0000","D2000","D4000","D6000","D8000", "DA000", "DC000", "DE000", +
               "E0000","E2000","E4000","E6000","E8000", "EA000", "EC000", "EE000" }
IORangeList = {"100","110","120","200","220","300","320"}
IRQDefault = 0
MemoryDefault = 8
IODefault = 4
[BindingInfo-DigiFEP5]
BindingInfo =   {+
                "digiFEP5Driver ntcxDriver non exclusive 100", +
                "digiFEP5Driver ntxemDriver non exclusive 100", +
                "digiFEP5Driver ntxallDriver non exclusive 100" +
                }
[BindingInfo-ntxem]
BindingInfo     = {+
                  $(AdapterHardwareDriver)"Driver "$(AdapterHardwareDriver)"Adapter non exclusive 100", +
                  }
[BindingInfo-ntcx]
BindingInfo     = {+
                  $(AdapterHardwareDriver)"Driver "$(AdapterHardwareDriver)"Adapter non exclusive 100", +
                  }
[BindingInfo-ntxall]
BindingInfo     = {+
                  $(AdapterHardwareDriver)"Driver "$(AdapterHardwareDriver)"Adapter non exclusive 100" +
                  }
[InstallResources]
    set STF_VITAL = ""
    Debug-Output "OEMNADDS.INF: [InstallResources]"
    AddSectionFilesToCopyList Files-Resource $(!SourceDir) $(!STF_WINDOWSSYSPATH)
    CopyFilesInCopyList
    Debug-Output "OEMNADDS.INF: [InstallResources] - Exiting"
    exit
[Install-Option]
    set STF_VITAL = ""
    ifstr(i) $(AddCopy) == "YES"
        AddSectionFilesToCopyList Files-Resource $(SrcDir) $(!STF_WINDOWSSYSPATH)
        AddSectionFilesToCopyList Files-DigiFEP5 $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
        AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
    endif
    ifstr(i) $(DoCopy) == "YES"
       set !STF_NCPA_FLUSH_COPYLIST = TRUE
       CopyFilesInCopyList
    endif
    ifstr(i) $(DoConfig) == "YES"
    endif
    Exit
[Source Media Descriptions]
    1  = "Windows NT Setup Disk #1"  , TAGFILE = disk1
    2  = "Windows NT Setup CD-ROM Disk"  , TAGFILE = disk2
[ProductType]
STF_PRODUCT  = Winnt
STF_PLATFORM = I386
[Files-Inf]
2,	oemsetup.inf,	 SIZE=1000,	RENAME=$(!UG_Filename)
[Files-DigiBoard16e]
2,NTXALL.SYS , SIZE=999
[Files-DigiBoard16i]
2,NTXALL.SYS , SIZE=999
[Files-DigiBoard2Port]
2,NTXALL.SYS , SIZE=999
[Files-DigiBoard4e]
2,NTXALL.SYS , SIZE=999
[Files-DigiBoard4i]
2,NTXALL.SYS , SIZE=999
[Files-DigiBoard4Port]
2,NTXALL.SYS , SIZE=999
[Files-DigiBoard8e]
2,NTXALL.SYS , SIZE=999
[Files-DigiBoard8i]
2,NTXALL.SYS , SIZE=999
[Files-DigiBoard8Port]
2,NTXALL.SYS , SIZE=999
[Files-DigiBoardCX]
2,NTCX.SYS , SIZE=999
[Files-DigiBoardXem]
2,NTXEM.SYS , SIZE=999
[Files-DigiFEP5]
2,DIGIFEP5.SYS , SIZE=999
[Files-Resource]
2,DGCONFIG.HLP , SIZE=999
2,DGCONFIG.DLL , SIZE=999
[OptionsTextENG]
    DigiBoardCX     = "DigiBoard C/X Adapter"
    DigiBoardXem    = "DigiBoard PC/Xem Adapter"
    DigiBoard8i     = "DigiBoard PC/8i Adapter"
    DigiBoard16i    = "DigiBoard PC/16i Adapter"
    DigiBoard2Port  = "DigiBoard 2Port Adapter"
    DigiBoard4Port  = "DigiBoard 4Port Adapter"
    DigiBoard8Port  = "DigiBoard 8Port Adapter"
    DigiBoard4e     = "DigiBoard PC/4e Adapter"
    DigiBoard8e     = "DigiBoard PC/8e Adapter"
    DigiBoard16e    = "DigiBoard PC/16e Adapter"
[OptionsTextMCAENG]
    DigiBoardCX     = "DigiBoard MC C/X Adapter"
    DigiBoardXem    = "DigiBoard MC/Xem Adapter"
    DigiBoard4i     = "DigiBoard MC/4i Adapter"
    DigiBoard8i     = "DigiBoard MC/8i Adapter"
    DigiBoard16i    = "DigiBoard MC/16i Adapter"
    DigiBoard2Port  = "DigiBoard 2Port Adapter"
    DigiBoard4Port  = "DigiBoard 4Port Adapter"
    DigiBoard8Port  = "DigiBoard 8Port Adapter"
[FileConstantsENG]
    ProCaption   = "DigiBoard Setup"
    ProCancel    = "Cance&l"
    ProCancelMsg = "DigiBoard Adapters and/or Drivers are not correctly installed. "+
                   "Are you sure you want to cancel copying files?"
    ProCancelCap = "DigiBoard Setup Message"
    ProText1     = "Copying:"
    ProText2     = "To:"
    Error         = "Unable to determine proper source disk location; copy cannot be performed."
    FunctionTitle   ="DigiBoard Setup"
    ProductSoftwareDescription          = "DigiBoard FEP 5 Adapter Driver"
    ProductSoftwareDescriptionHdwDriver = "DigiBoard "$(AdapterTitle)" Miniport Driver"
    ProductSoftwareTitle    = "DigiBoard FEP 5 Driver"
    ProductSoftwareTitleHdwDriver = "DigiBoard "$(AdapterTitle)" Miniport Driver"
   ConfigurationTitle = "DigiBoard "$(AdapterTitle)" Adapter Setup"
    ProductHardwareDescription      = "DigiBoard "$(AdapterTitle)" Adapter"
    ProductHardwareTitle        = "DigiBoard "$(AdapterTitle)" Adapter"
[DialogConstantsENG]
    Help        = "&Help"
    Exit        = "E&xit"
    OK          = "OK"
    HelpContext = ""
    Continue    = "C&ontinue"
    Cancel      = "C&ancel"
[UpdatingConfigurationENG]
    UpdatingConfiguration      = "Updating new configuration..."
[AbortMessageENG]
  AbortText  =  "Aborting DigiBoard Setup. Please reboot the system "+
                "to fix the problem."



